from sqlalchemy import Table, Column, Integer, String
from sqlalchemy.orm import mapper
from database import metadata, db_session, init_db, engine
from sqlalchemy import ForeignKey
from sqlalchemy.orm import relationship, backref
from proyecto import Proyecto, proyecto
from usuario import Usuario, usuario
from solicitudCambio import SolicitudCambio

class VotosComite(object):
    """ Clase que define el modelo de la tabla votos de los integrantes del comite """
    query = db_session.query_property()

    def __init__(self, voto=None):
        """ Metodo init """
        self.voto = voto

    def __repr__(self):
        return self.voto

votosComite = Table('votos', metadata,
    Column('idvoto', Integer, primary_key=True),
    Column('idintegrante', Integer, ForeignKey('usuario.idusuario')),
    Column('idsolicitud',Integer, ForeignKey('solicitud.idsolicitud')),
    Column('voto', String(50))
)

mapper(VotosComite, votosComite, properties={
    'integrante' : relationship(Usuario, backref='votos'),
    'solicitud' : relationship(SolicitudCambio, backref='votos')
})